#ifndef __CONFIG_H__

#include <stdint.h>
#include <stdbool.h>

#define CONFIG_USE_NVS 1

#ifndef CONFIG_USE_NVS
bool config_read(void *config);
bool config_write(void *config);
#endif

bool config_commit(void);
bool config_init(char *name);
uint16_t config_find(char *name, uint8_t *data, uint16_t max_len);
uint16_t config_get(char *name, uint8_t *data, uint16_t max_len);
bool config_set(char *name, uint16_t len, uint8_t *data);

#ifndef CONFIG_USE_NVS
bool config_print(uint8_t format);
uint16_t config_print_to(void *out, uint16_t len);
#endif

#endif // !__CONFIG_H__